The Design , Implementation , and Evaluation of

نویسندگان

  • MARTIN C. RINARD
  • MONICA S. LAM
چکیده

Jade is a portable, implicitly parallel language designed for exploiting task-level concurrency. Jade programmers start with a program written in a standard serial, imperative language, then use Jade constructs to declare how parts of the program access data. The Jade implementation uses this data access information to automatically extract the concurrency and map the application onto the machine at hand. The resulting parallel execution preserves the semantics of the original serial program. We have implemented Jade as an extension to C, and Jade implementations exist for shared-memory multiprocessors, homogeneous message-passing machines, and heterogeneous networks of workstations. In this article we discuss the design goals and decisions that determined the nal form of Jade and present an overview of the Jade implementation. We also present our experience using Jade to implement several complete scientiic and engineering applications. We use this experience to evaluate how the diierent Jade language features were used in practice and how well Jade as a whole supports the process of developing parallel applications. We nd that the basic idea of preserving the serial semantics simpliies the program development process, and that the concept of using data access speciications to guide the parallelization ooers signiicant advantages over more traditional control-based approaches. We also nd that the Jade data model can interact poorly with concurrency patterns that write disjoint pieces of a single aggregate data structure, although this problem arises in only one of the applications. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for proot or direct commercial advantage and that copies show this notice on the rst page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works, requires prior speciic permission and/or a fee. Permissions may be requested from Publications 1. INTRODUCTION Programmers have traditionally developed software for parallel machines using explicitly parallel systems Lusk et al. 1987; Sunderam 1990]. These systems provide constructs that programmers use to create parallel tasks. On shared-memory machines the programmer synchronizes the tasks using low-level primitives such as locks, condition variables, and barriers. …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Instructional Design, Implementation, and Evaluation of an E-Learning System, an Experience in Tehran University of Medical Sciences

Introduction: Designing e-learning systems based on the principles and prerequisites of teaching and learning theories requires a comprehensive and systematic approach to instructional design procedure. An experience of instructional design, implementation and evaluation of an e-learning system is represented in this study. Methods: In the present action research study, five steps of systemati...

متن کامل

Design, implementation, and evaluation of principles of writing biomedical research paper course

Introduction: Graduate (PhD) students in medical sciences, who will formfuture faculties and investigators in Iran’s Universities of Medical Sciences, are not trained on scientific writing during their training. The present study describes the design, implementation, and evaluation of Principles of Writing Biomedical Research Paper course.Methods: The course, prepared based on an extensive sear...

متن کامل

Design, Implementation and Evaluation of Software to Increase Users’ Awareness and Facilitate the Identification of the Most Appropriate Centers Providing Laboratory Services in Tehran Province

Background and Aim: Medical diagnostic laboratories are among the most important centers in the treatment cycle of patients. Today, the conscious choice of such laboratories is one of the challenges that patients face in the treatment process. This study was conducted with the aim of improving the knowledge of software users in the field of laboratory sciences and also facilitating the consciou...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998